package processador.mensagem;

import java.io.UnsupportedEncodingException;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

import modelo.mensagem.AbstractMensagemDestinatario;

/**
 * <p>
 * Classe responsável por montar o objeto da mensagem necessária a transmissão
 * da mesma ao destinatário(s)
 * </p>
 * 
 * @author Willyan Guimarães Caetano
 * 
 */
public final class ProcessadorMensagem {

	public static Message processaMensagem(Session sessao,
			AbstractMensagemDestinatario mensagem) {
		Message msg = new MimeMessage(sessao);

		try {
			msg.setFrom(new InternetAddress(mensagem.getRemetente()
					.getEnderecoEmail(), mensagem.getRemetente()
					.getNomePessoal()));

			msg.addRecipient(Message.RecipientType.TO, new InternetAddress(
					mensagem.getDestinatario().getEnderecoEmail()));

			msg.setSubject(mensagem.getAssunto());

			msg.setText(mensagem.getTexto());
		} catch (UnsupportedEncodingException | MessagingException e) {
			e.printStackTrace();
		}

		return msg;
	}
}
